#ifndef __FILTER__H_
#define __FILTER__H_

#define  FILTER_KALMAN_ENABLE   1  // 使能卡尔曼滤波器，整数版本


#if (FILTER_KALMAN_ENABLE == 1)
typedef struct
{
    volatile int A ; /*计算时放大的倍数，结果输出时缩小*/
    volatile int Last_P;//上次估算协方差 不可以为0 ! ! ! ! !
    volatile int Now_P;//当前估算协方差
    volatile int out;//卡尔曼滤波器输出
    volatile int Kg;//卡尔曼增益
    volatile int Q;//过程噪声协方差
    volatile int R;//观测噪声协方差
}Kalman_t;

void KalmanInt_Init(Kalman_t *kfp); /*初始化卡尔曼滤波器*/
int KalmanIntFilter(Kalman_t *kfp,int input); /*卡尔曼滤波器计算*/

#endif 


int Filter_Median(int* pData,int nSize) ; // 中值滤波 

#endif 
